package com.ngc.mall.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ngc.mall.domain.UserDomain;
import com.ngc.mall.dto.UserDTO;
import com.ngc.mall.dto.UserFilterDTO;
import com.ngc.mall.dto.UserPasswordDTO;
import com.ngc.mall.vo.UserVO;

import java.util.List;
public interface IUserService extends IService<UserDomain> {

    List<UserDomain> findAll();

    UserDomain findUserByAccount(String account);

    Boolean login(UserDTO userParam);

    Long register(UserDomain userDomain
    );


    Boolean verifyUsernamePassword(Long id,String account,String password);

    UserVO getSelfInfo();

    UserVO getDetailById(Long id);

    Boolean resetPassword(Long id,String newPassword);

    Boolean updateById(Long id,UserDomain domain);

    Boolean assignRolesById(Long id,List<Long> roleIdList);

    List<UserDomain> search(UserFilterDTO dto);

    List<Long> getRoleIdListByUid(Long uid);

    Boolean updateSelfInfo(UserDTO dto);

    Boolean updateSelfPassword(UserPasswordDTO dto);
}
